package user

import (
	"gitee.com/xiaoyutab/gatway/model"
	"gitee.com/xiaoyutab/xgotool/optional/xcache"
	"gitee.com/xiaoyutab/xgotool/xerror"
)

// token换取用户信息
//
//	token	用户token信息
func Token2info(token string) (*model.User, error) {
	if token == "" {
		return nil, xerror.New("token不能为空")
	}
	mod := model.User{}
	cache_key := xcache.Key("service.user.token", token)
	if xcache.Exists(cache_key) {
		if err := xcache.GetStruct(cache_key, &mod); err == nil {
			return &mod, nil
		}
	}
	return nil, xerror.New("token不存在")
}
